//
//  main.c
//  28. strStr
//
//  Created by edz on 2020/7/7.
//  Copyright © 2020 edz. All rights reserved.
//


/*
 实现 strStr() 函数。
 给定一个 haystack 字符串和一个 needle 字符串，在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在，则返回  -1。

 示例 1:
 输入: haystack = "hello", needle = "ll"
 输出: 2
 
 示例 2:
 输入: haystack = "aaaaa", needle = "bba"
 输出: -1
 */
#include <stdio.h>
#include <string.h>

int strStr(char *haystack, char *needle)
{
    int len1 = (int)strlen(haystack);
    int len2 = (int)strlen(needle);
    if (len2 < 1) {
        return 0;
    }
    int i = 0;
    int temp1, temp2;
    for (i = 0; i < len1; i++) {
        if (len1 - i < len2) {
            return -1;
        }
        temp1 = i;
        temp2 = 0;
        while (haystack[temp1++] == needle[temp2++]) {
            if (temp2 == len2) {
                return i;
            }
        }
    }
    return -1;
}

int main(){
    char* haystack = "aaaaaabba";
    char* needle = "ba";
    printf("%d\n",strStr(haystack, needle));
    return 0;
}
